/**
 *	@file	pmtel_dat_def.h
 *	@brief	電話　会話データ型定義
 *	@author	Miyuki Iwasawa
 *	@date	08.01.28
 */

#ifndef __H_PMTEL_DAT_DEF_H__
#define __H_PMTEL_DAT_DEF_H__

///会話データシーケンスタイプ
typedef enum _TEL_SEQ_CODE{
 //↓ファイルメーカーに指定可能
 TEL_SEQ_SIMPLE,
 TEL_SEQ_REV_DAY,	//再戦タイプ日常会話着信
 TEL_SEQ_REV_RND11,	//再戦タイプ ランダム11

 //↓プログラムからのみ指定可能
 TEL_SEQ_MASAKI_CALL,	//マサキの着信イベント型
 TEL_SEQ_MAMA_DEPOSIT,	//おかあさんの貯金話型
 TEL_SEQ_OOKIDO_ZUKAN_HYOUKA,	//オーキドの図鑑評価型
 TEL_SEQ_GRANDMA,	//そだてばあさん
 TEL_SEQ_GRANDPA,	//そだてじいさん
 TEL_SEQ_AOI_CALL,		//アオイ　送信
 TEL_SEQ_AOI_RECEIVE,	//アオイ　着信
 TEL_SEQ_SUPPORT_CALL,	//サポート　送信
 TEL_SEQ_SUPPORT_RECEIVE,	//サポート　着信
 TEL_SEQ_GANTETSU_CALL,	//ガンテツ　送信
 TEL_SEQ_LEADER_CALL,	//ジムリーダー　送信
 TEL_SEQ_LEADER_RECEIVE,		//ジムリーダー　着信
 TEL_SEQ_SAFARI_RECEIVE_MAP,	//サファリ マップレベルアップ着信
 TEL_SEQ_MAX,
}TEL_SEQ_CODE;

///フラグタイプ定義
typedef enum _TEL_FLAG_TYPE{
 TEL_FLAG_NONE,
 TEL_FLAG_EV,
 TEL_FLAG_SYS,
 TEL_FLAG_REVENGE,
 TEL_FLAG_ITEM,
 TEL_FLAG_TAG,	//特殊タグ展開コード flag_setをメッセージ候補数、flag_idをメッセージIDとして扱う
}TEL_FLAG_TYPE;

///抽選タイプ定義
#define TEL_SELTYP_PROG		(0)	///<プログラム依存
#define TEL_SELTYP_PER		(1)	///<確率
#define TEL_SELTYP_EVOFF	(2)	///<再戦/アイテムイベント発動中を避ける
#define TEL_SELTYP_DAY		(3)	///<日付・再戦チェック
#define TEL_SELTYP_MUSHI	(4)	///<虫取り大会チェック
#define TEL_SELTYP_RADIO	(5)	///<ラジオ塔占拠チェック
#define TEL_SELTYP_ZUKAN	(6)	///<図鑑登録ポケモンチェック
#define TEL_SELTYP_REVENGE	(7)	///<再戦発動中チェック
#define TEL_SELTYP_ITEM		(8)	///<アイテムイベント発動中チェック
#define TEL_SELTYP_END		(0xFF)	///<図鑑登録ポケモンチェック

///オーキドの図鑑評価イベントチェック　基準値
#define TELEV_OOKIDO_ZUKAN_HYOUKA_INTERVAL	(50)	//50匹ごとに評価レベルアップ
#define TELEV_OOKIDO_ZUKAN_HYOUKA_RANK_MAX	(9)	//評価レベルマックス

///抽選データ構造
typedef struct _TELD_SELECT{
 u8	type;	///<抽選タイプ
 u8 per;	///<抽選確率
 u16 seq_code;		///<シーケンスコード
 u16 seq_no;		///<メッセージNo
}TELD_SELECT;

///電話挨拶データ構造
typedef struct _TELD_GREETING{
 u8		gmsg[12];	///<挨拶データメッセージ
}TELD_GREETING;

///電話会話データ構造　ノーマル(単純なメッセージ再生)
typedef struct _TELD_SEQ_SIMPLE{
 u8		msg[2];			///<再生メッセージID
 u16	flag_type:4;	///<フラグタイプ
 u16	flag_set:12;	///<フラグセットタイプ(0ならリセット、1ならセット)
 u16	flag_id;		///<フラグのID
}TELD_SEQ_SIMPLE;


#endif //__H_PMTEL_DAT_DEF_H__
